Next: MEMORY, Previous: Assignments, Up: Scripts

### 3.6 SECTIONS Command

The `SECTIONS` command tells the linker how to map input sections into output sections, and how to place the output sections in memory.

The format of the `SECTIONS` command is:

         SECTIONS
         {
           sections-command
           sections-command
           ...
         }

Each sections-command may of be one of the following:

- an `ENTRY` command (see Entry command)
- a symbol assignment (see Assignments)
- an output section description
- an overlay description

The `ENTRY` command and symbol assignments are permitted inside the `SECTIONS` command for convenience in using the location counter in those commands. This can also make the linker script easier to understand because you can use those commands at meaningful points in the layout of the output file.

Output section descriptions and overlay descriptions are described below.

If you do not use a `SECTIONS` command in your linker script, the linker will place each input section into an identically named output section in the order that the sections are first encountered in the input files. If all input sections are present in the first file, for example, the order of sections in the output file will match the order in the first input file. The first section will be at address zero.